$(document).ready(function(){
	initChat();
});

/********************************************************************************
 函数名：initChat
 功能：初始化聊天
 输入参数: 无
 返回值：无
 创建信息：卢映恒(2015-12-03）
 修改记录：无
 审查人：无
 *******************************************************************************/
function initChat(){
	$('#discussDiv').show();
	$('#notesDiv').hide();
	var room;
	var coursewareID = getQueryString("coursewareID",true);
	var videoID=getQueryString("videoID",true);
	if(coursewareID){
		room='c_'+coursewareID;
	}
	if(videoID){
		room='v_'+videoID;
	}
	//是否连接到服务器
	var isConnected = false;
	$(function(){
		//首先连接服务器
		var socket = io.connect();
		//连接上以后加入当前课程的频道
		socket.on('connect',function(err){
			if(!err){
				isConnected = true;
				//addMessage('已连接到服务器');
				//触发加入房间的事件到服务器,目前测试房间号为 room1
				socket.emit('join',''+room+'',function(err){
					if(err){
						G_Popup.alert('提示',err);
					}
				});
			}else{

			}
		});
		//出错处理
		socket.on('error',function(err){
			//addMessage('出错了 :'+err);
		});
		//断开连接后的处理
		socket.on('disconnect',function(){
			//addMessage('已断开连接');
			isConnected = false;
		});
		//收到服务器发来的其他人的消息
		socket.on('message',function(info){
			if(info.self){//是自己的信息

				addMessage('<span><img src="../img/kqxx_ico.png"/>我<span style="font-size:14px;">（'+ info.time +'）</span></span><br/>'+
					'<span class="dissContent">'+ info.msg +'</span>');
			}else{//其他人的信息
				addMessage('<span style="width:100%;"><img src="../img/kqxx_ico.png"/>'+ info.user.username +'<span style="font-size:14px;">（'+ info.time +'）</span></span><br/>'+
					'<span class="dissContent">'+ info.msg +'</span>');
			}
		});
		//有其他人加入频道触发的时间
		socket.on('join',function(info){
			addMessage('用户['+info.user.username+']&nbsp;进入了聊天室');
		});
		//当有人离开频道触发的事件
		socket.on('leave',function(info){
			addMessage('用户['+info.user.username+']&nbsp;离开了聊天室');
		});
		//缓存套接字连接
		window.socketChat=socket;

		$('#discussText').keydown(function(e){
			if(e.keyCode==13){
				send();
			}
		});
		$('#sendBtn').click(function(){
			send();
		});
		$('#discussText').focus(function(){
			document.getElementById('alertMsg').style.display = 'none';
		});
	});

	//测试打印信息
	function addMessage(msg){
		var chatContent =  $('#chatContent');
		chatContent.append('<li>'+msg+'</li>');
		$('#end')[0].scrollIntoView();
	}
	//发送信息
	function send(){
		if(socketChat && isConnected){
			var msg = $('#discussText').val();
			if(!msg) {
				document.getElementById('alertMsg').innerHTML = '发送内容不能为空，请重新输入。';
				document.getElementById('alertMsg').style.display = 'block';
				return;
			}
			//向服务器触发消息
			socketChat.emit('message',msg,function(err){
				if(err){
					document.getElementById('alertMsg').innerHTML = err;
					document.getElementById('alertMsg').style.display = 'block';
				}
				$('#discussText').val('');
			});
		}
	}

}